package src.fantasma;

public abstract class EstadoFantasma {
	
	private IFantasma fantasma;
	private EstadoFantasma estadoFantasmaAnterior;
	private EstadoFantasma estadoFantasmaSiguiente;
	private int agresividad;
		
	public EstadoFantasma() {
		this.agresividad = 0;
	}
	
	protected IFantasma getFantasma() {
		return fantasma;
	}

	public void setFantasma(IFantasma fantasma) {
		this.fantasma = fantasma;
	}

	protected EstadoFantasma getEstadoFantasmaAnterior() {
		return estadoFantasmaAnterior;
	}

	public void setEstadoFantasmaAnterior(EstadoFantasma estadoFantasmaAnterior) {
		this.estadoFantasmaAnterior = estadoFantasmaAnterior;
	}

	protected EstadoFantasma getEstadoFantasmaSiguiente() {
		return estadoFantasmaSiguiente;
	}

	public void setEstadoFantasmaSiguiente(EstadoFantasma estadoFantasmaSiguiente) {
		this.estadoFantasmaSiguiente = estadoFantasmaSiguiente;
	}

	public int getAgresividad() {
		return agresividad;
	}

	protected void setAgresividad(int agresividad) {
		this.agresividad = agresividad;
	}

	public abstract void iniciar();
	public abstract void convertirEnPresa();
	public abstract void matar();
	public abstract void molestar();
	public abstract void mover(Posicion posicionActual);	
	
}
